* {
  font-family:  -apple-system, BlinkMacSystemFont, sans-serif;
}

body {
  margin: 0 8vw;
  background-color: var(--background-color);
  color: var(--text-color);

  --text-color:
  rgba(0,0,0,0.87);
  --strong-text-color:black;
  --disabled-text-color:
  rgba(16, 12, 12, 0.54);
  --hover-background-color:
  rgba(16, 12, 12, 0.07);
  --image-placeholder-color:
  var(--hover-background-color);
  --background-color:white;
  --accent-color:#D42A20;
  --highlight-color:#FAC22B;
}

.thumbnail {
  width: 100%;
  padding-top: 61.8%;
  max-height:1vh;
  background-size: cover;
  background-position: center;
  margin-bottom: 1.3em;
  box-sizing: border-box;
  /* transition: opacity 200ms ease-out; */
  /* opacity:0; */
  /* margin: 0 -2em; */
  }

  .description {
    white-space:pre-wrap;

  }
.ingredients:hover .noun {
/* text-decoration:underline;   */
}


@media screen {
  .timer {
    /* background-color:cyan; */
    white-space: nowrap;
    border-radius: 2px;
    padding: 0 0.1em;
    margin: 0 -0.1em;
    /* text-decoration:underline; */
    text-decoration-style: dotted;
    box-sizing: border-box;
    /* color: var(--background-color); */
    /* border-bottom:1px solid transparent; */
    border-bottom-color: currentColor;
    /* background-color: var(--text-color); */
    font-weight: bold;
  }

  .timer:hover,
  .timer.active {
    color: white;
    background-color:#0E638E;
    z-index:100;
    /* border:1px solid currentColor; */
    position:relative;

    border-bottom-color: transparent;
  }

  .timer.active .label{
    opacity:0.0;
  }
  .timer .countdown{
   position:
   absolute;
   display:
   none;
   width: 100%;
   text-align: center;
   left: 0;
  }
  .timer.active .countdown {
    display:inline-block;
  }
  .timer svg {
    width: 1em;
    vertical-align: sub;
    margin-bottom: 1px;
  }
}


@media print {
  .timer {
      font-weight:800;
  }
  .timer svg {
    display:none;
  }
}

img.publisher {
  max-width: 8em;
  max-height: 3em;
  /* margin-top: -0.1em; */
  transform:
  scale(0.7);
  /* float:
  right; */
  transform-origin: left;
}

.recipe {
  max-width: 50em;
  margin: auto;
  line-height: 125%;
}

.columns {
  display: flex;
  gap: 3em;
  margin-bottom: 4em;
  align-content: center;
  justify-content: center;
  /* flex-direction: row-reverse; */
  /* margin-top: 1em; */
  /* height: auto; */
  }


.headercolumns {
  display: flex;
  flex-direction: row-reverse;
  }

header {
  flex: 1 1 auto;
  /* gap: 2em; */
  /* margin-bottom: 1rem; */
  /* padding-left: 18em; */
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  line-height:125%;
  font-weight:500;
  font-size: 2em;
}
.noun.hovered {
  background-color:var(--highlight-color);
  padding:0px 2px 2px 2px;
  margin:-0px -2px -2px -2px;
  border-radius:2px;
}
.step.hovered,
.substep.hovered ~ *,
.ingredient.hovered {
background-color:#f1f1f1;
}

.ingredient.hovered {
  background-color: var(--highlight-color);
}
.metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
  /* margin-bottom: 1em; */
  text-transform: uppercase;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 0.8em;
  margin-top: 0.7em;
}

ul.step {
  padding-inline-start: 0;
  list-style-type:none;
  padding: 0;margin: 0em;
}

ul.step:after {
  content: "";
  display: none;
  width: 5em;
  height: 0.5px;
  background-color: currentColor;
  opacity: 1;
  border:
  none;
  margin: 1em 0 0.2em 0;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
  /* margin-left: -19em; */
}

ul.step.header:after,
ul.step:last-child:after {
  display:none;
}

.instructions:not(.numbered) .number {
  display: none;
}

.instructions.numbered .step {
  margin-bottom:1em;
}

span.bullet {
  margin-left: -1.5rem;
  float:
  left;
  /* border: 1.5px solid var(--text-color); */
  font-weight: 600;
  border-radius:10em;
  width: 16px;
  height: 16px;
  text-align: center;
  /* font-size: 10px; */
  /* line-height: 16px; */
  opacity: 1;
  user-select: none;
  color:
  var(--accent-color)
  /* background: black; */;
  /* display: none; */
  /* display: block; */
}

.instructions .step:not(:hover)   span.bullet.substep {
  opacity: 0.3;
  color: var(--text-color);
}


@media screen {
  .complete span.bullet, li:hover span.bullet {
    color:transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='M18.9 36.9 6.5 24.5 9.9 21.1 18.9 30.1 38.05 10.95 41.45 14.35Z'/%3E%3C/svg%3E");  background-size:cover;
  }
  
.complete span.number {
    border-color:transparent;

  }

  .complete .noun {
    color:var(--disabled-text-color);
  }
  .ingredient.complete,
  li.complete {
    text-decoration: line-through;
    color:var(--disabled-text-color);

  text-decoration: line-through;
  /*noinspection CssOverwrittenProperties*/
  text-decoration: rgba(0,0,0,0.75) solid 0.5px line-through; /* Ignored in CSS1/CSS2 UAs */
  }
}

.number.big {
  /* font-size:8px; */
}


li {
  padding: 0.33em 0.5em;
  margin-left: -0.5em;
}

.ingredient,
li {
  border-radius: 2px;
}
.ingredient:hover, 
li:hover {
  background-color:var(--hover-background-color)
}

.spacer {
  flex-grow: 1000;
}
.metadata img {
  width:16px;
  vertical-align: middle;
  margin-top: -4px;
  margin-right: 4px;
  opacity:0.6;
}

/* .metadata div:after {
  content: "•";
  margin-left: 1em;
  margin-right: 1em;
} */

/* .yield:before {
  background-image: url("recipe/restaurant_black_24dp.svg");
} 

.time:before,
.yield:before {
  content:" ";
  width: 16px;
  /* height:16px; */
  /* background-size: contain;
  float:left;
  margin-right:4px;
  background-repeat: no-repeat;
  background-position: center;
} */
.time:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='22' fill='none' viewBox='0 0 18 22'%3E%3Cpath fill='%23000' d='M4.031 17.953C5.406 19.328 7.063 20.016 9 20.016c1.938 0 3.578-.688 4.922-2.063 1.375-1.375 2.062-3.031 2.062-4.969 0-1.937-.687-3.578-2.062-4.921C12.578 6.687 10.937 6 9 6c-1.938 0-3.594.688-4.969 2.063-1.343 1.343-2.015 2.984-2.015 4.921 0 1.938.671 3.594 2.015 4.97zm12-10.547c.532.688.985 1.578 1.36 2.672.406 1.063.609 2.031.609 2.906 0 2.47-.875 4.594-2.625 6.375-1.75 1.75-3.875 2.625-6.375 2.625s-4.625-.875-6.375-2.625C.875 17.58 0 15.453 0 12.984c0-2.468.875-4.578 2.625-6.328C4.375 4.875 6.5 3.984 9 3.984c.844 0 1.813.204 2.906.61C13.031 5 13.937 5.469 14.625 6l1.406-1.453c.5.406.969.875 1.407 1.406L16.03 7.406zm-8.015 6.61v-6h1.968v6H8.016zM12 .984V3H6V.984h6z'/%3E%3C/svg%3E%0A");
} 

.time {
  background-size:18px;
  background-repeat:no-repeat;
  /* text-transform: uppercase; */
  /* margin-bottom: 1em; */
}

.ingredients {
  /* font-weight: 600; */
  font-size: 100%;
  position: sticky;
  /* top: 0px; */
  /* padding-top: 1.5em; */
  flex: 0 1 35%;
  /* color: rgba(0,0,0,0.8); */
  /* color:
  rgb(0, 118, 173); */
  max-width: 16em;
}

.noun {
  font-weight: 700;
  color: var(--strong-text-color);
}

li:hover .noun {
  text-decoration: 1px dotted underline;
  /* background-color: var(--hover-background-color); */
}

.instructions {
  white-space: pre-wrap;
  /* line-height: 125%; */
  /* font-size: 100%; */
  flex: 1 1 65%;
  /* margin-top: -0.7em; */
}

.instructions h3 {
  font-weight: 500;
  margin-top: 1em;
  margin-bottom: 0.5em;
}

.instructions.numbered li {
  padding-left: 2rem;
  margin-left: -0.5rem;
}

.substep {
  margin-bottom: 1em;
  /* display: inline; */
}
.ingredient {
  /* padding: .4em 0.4em; */
  /* margin: 0 -.4em 1em -.4em; */
  line-height: 120%;
  /* opacity: 0.75; */
  cursor: pointer;
  margin-bottom: 0.2em;
}
.hanging .ingredient {
  /* margin-left: -3rem; */
  /* padding-left: 3rem; */
  /* padding: 0.2em; */
  /* padding-left: 2rem; */
  display: table-row;
}

.ingredients .yield {
  margin-bottom: 1.5em;
  font-weight:bold;
  text-transform: uppercase;
  margin-left:2em;
}
.ingredients.hanging .quantity {
  /* height: 2em; */
  /* float:
  left; */
  /* margin-left: -2.1rem; */
  /* max-width: 3rem; */
  text-align: right;
  color: var(--accent-color);
  /* min-width: 2rem; */
  white-space: nowrap;
  width: 1em;
}

.ingredient:hover {
  opacity: 1.0;
  background-color: rgba(128, 128, 128, 0.1)
}

.step {
  max-width: 80em;
  cursor: default;
  /* border:1px solid red; */
  margin-bottom: 1em;
}

.instructions hr {
  width: 5em;
  height: 0.5px;
  background-color: currentColor;
  opacity: 1;
  border:
  none;
  margin: 1em 0 0.2em 0 ;
}

hr {
  /* width: 100px;
  float: left;
  height: 0.5px;
  background-color: currentColor;
  opacity: 0.54; */
}

.actions {
  display: flex;
  gap: 0.5em 1em;
  line-height:24px;
  /* margin-left: -4px; */
  /* margin: 10px 0; */
  order: -1;
  /* margin-bottom: 1em; */
  justify-content: flex-end;
  margin-left: auto;
}

.action {
  justify-content: center;
  border-radius:50%;
  cursor:  pointer;
  width: 44px;
  height: 44px;
  color: var(--accent-color);
  /* display: flex;
  align-items: center;
  justify-content: center; */
  /* text-align: center; */
  /* line-height: 1.5em; */
  /* background-color:
  var(--hover-background-color); */
  display: flex;
  align-items: center;
}

.action:hover {
  background-color:var(--hover-background-color);
  color:var(--strong-text-color)
}
.action:hover:not(:active) .icon {
  opacity:1.0;
}

.action .icon {
  margin-right: 0;
  /* opacity: 0.5; */
  width: 24px;
  height: 24px;
}

.instructions hr:nth-child(2) {
  display:none;
}


@media screen and (max-width: 520px) {
  #thumbnail-container {
    margin: 0 -8vw;
    background-color: var(--image-placeholder-color);
  }
  #thumbnail {
      padding-top: 56.25%;

  }
  /* some CSS here */
  .columns {
    flex-direction: column;
    gap:0;
  }
  .ingredient,
  .instructions,
  header {
    /* padding: 0 .4em; */
    padding-top: 0.5em;
  }

  caption {
    padding-bottom:0.5em;
    border-bottom:1px solid currentColor;
  }
  .ingredients {
    /* border-top:0.5px solid currentColor; */
    /* padding-top:1em; */
    padding-bottom:1em;
    margin-bottom:1em;
    max-width: unset;
  }
  .instructions hr:first-child {
    display:none;
  }

  .hanging .ingredient {
    margin: 0;
    /* margin-left: 3rem; */
    /* margin-bottom:0.67em; */
  }

  
  .ingredients .yield {
   margin-left:3em;
  }


  
  .instructions hr:first-child {
    display:none;
  }

  .headerflex {
    flex-direction:column;
  }
}

.metadata .icon {
  /* font-size: 15px; */
  vertical-align: middle;
  margin-top: -3px;
  margin-right: 4px;
  opacity: .6;
  /* color:
  transparent; */
  user-select: none;
  /* float: left; */
  display: inline-block;
  /* -webkit-print-color-adjust: exact; */
}


.instructions.numbered hr {/* margin: 0.7em -1px; *//* height: 1.5px; *//* opacity: 0.2; *//* width: auto; */}

.instructions.numbered {/* margin-top: -1.6em; */}


img.qr {
  /* margin-top:2em; */
  /* position: absolute; */
  /* bottom:0; */
  /* left: 0; */
  /* max-width: 100%; */
  /* height: auto; */
  /* background-color: var(--background-color); */
  /* display: table-caption; */
  width: 5cm;
  height: 5cm;
  margin-left: 1em;
  page-break-before: always;
}

@media screen and (max-width: 1199px) {
  #thumbnail {
  filter:none !important;
  transform: none !important;
  }
}
.recipe-content {
  max-width:50em;
  padding: 1em 0;
  /* padding-left: 2em; */
}
@media screen and (min-width: 1200px) {
  body {
    width:auto;
    margin:0;
  }
  .recipe {
    flex-direction: row;
    display: flex;
    max-width: unset;
    justify-content: center;
  }

  #thumbnail-container {
    width: calc(100% + 20px);
    height: calc(100vh + 20px);
    top:-10px;
    left:-10px;

    position: fixed;
    top: 0;
    overflow:
    hidden;
    z-index: -1;
  }

  .noblur #thumbnail {
    filter:none !important;
  }

  .thumbnail {
    max-height: calc(100vh + 20px);
    height: calc(100vh + 20px);
  }
  .recipe-content {
    max-width:50em;
    padding: 2em 4em;
    background-color: var(--background-color);
    margin-top: 15vh;
    margin-bottom: 95vh;
  }
  
}

.icon.print {
  background-position: 0 0;
  width: 24px;
  height: 24px;
}
.icon.share {
  /* background-position: 0 -24px; */
  width: 24px;
  height: 24px;
}
.icon.iosshare {
  background-position: -24px 0;
  width: 24px;
  height: 24px;
}
.icon.checklist {
  background-position: -24px -24px;
  width: 24px;
  height: 24px;
}
.icon.more {
  background-position: -48px 0;
  width: 24px;
  height: 24px;
}
.icon.public {
  /* background-position: -48px -24px; */
  /* width: 24px; */
  /* height: 24px; */
  /* border: 1px solid black; */
}
.icon.servings {
  background-position: -72px 0;
  width: 16px;
  height: 16px;
}
.icon.time {
  background-position: -72px -16px;
  width: 16px;
  height: 16px;
}
.icon.info {
  background-position: -72px -32px;
  width: 16px;
  height: 16px;
}
.icon.rating {
  background-position: -88px 0;
  width: 16px;
  height: 16px;
}

@media (prefers-color-scheme: dark) {
  body {
    --text-color:white;
    --strong-text-color:white;
    --hover-background-color:rgba(255,255,255, 0.14);
    --background-color:#222;
    --disabled-text-color:
    rgba(255,255,255, 0.54);
    --accent-color:rgb(255, 159, 159);
    --highlight-color:#eaa000b6;
  }
  
  .complete span.bullet, li:hover span.bullet {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' height='48' width='48'%3E%3Cpath d='M18.9 36.9 6.5 24.5 9.9 21.1 18.9 30.1 38.05 10.95 41.45 14.35Z'/%3E%3C/svg%3E");  background-size:cover;
  }
}


.headerflex {
    display: flex;
    clear: both;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-bottom: 1em;
}

hr:first-child {
    /* margin-top: -11em; */
    /* float: left; */
}

span.number:after {
    /* content: "."; */
}

.ingredient .noun {
    font-weight: 800;
}

.headerleft {
    /* flex: 0 1 100%; */
    margin-right: auto;
}

section.ingredients caption {
    content: "Ingredients";
    margin-bottom: calc(1.3rem - 1em);
}
section.ingredients.hanging caption {
  display: table-caption;
}

.hanging .ingredient .quantity:after {
    content: "\00a0\00a0";
}

.instructions caption {
    content: "Steps";
    /* padding-right: 24px; */
    margin-bottom: 1.3rem;
}
a.publisherlink,
.ingredients caption,
.instructions caption {
    font-weight: 600;
    font-size: 0.88rem;
    text-transform: uppercase;
    /* letter-spacing: 0.01rem; */
    user-select: none;
    color: var(--accent-color);
}
.ingredients caption,
.instructions caption {
  text-align: left;
  display: block;
  margin-bottom: 1em;
}



.listtoggle {
    /* float: right; */
    display: inline-block;
    /* vertical-align: bottom; */
    /* margin-top: -7px; */
    height: 16px;
    vertical-align: middle;
    margin-left: 0.5rem;
}

path {
    fill: currentColor;
}

a.publisherlink {
    /* order: -2; */
    /* width: 100%; */
    float: left;
    text-decoration: none;
    color: var(--disabled-text-color);
}

.headerleft h1 {
    max-width: 16em;
}

span.timer.active.expired {
    background-color: rgb(221, 40, 0);
}

/* Watches */
@media screen and (max-width: 220px) {
  .watch-hide {
    display: none !important;
  }
  body {
    margin: 0 0vw 0 6vw;
  }
  html {
    font-size:18px;
  }
  /* .quantity, span.bullet {
    font-size:150%;
  } */
}

html.watch .watch-hide {
  display: none !important;
}

@media print {
  body {
    font-size: 14px;
    min-height:100vh;
    margin: 0;
    padding: 0;
    height: 100%;
  }
  .print-hide {
    display: none !important;
  }

  .recipe {
    margin:0;
    max-width:
    unset;
    min-height: 100vh;
  }
  .recipe-content {
    max-width:
    unset;
    /* padding-left: 2em; */
    /* min-height: 100vh; */
    height: 100%;
  }

  @page { 
    size: auto;   /* auto is the initial value */ 
    /* margin: 1cm;   */
  } 

  a[href]:after { content: none !important; }
  img[src]:after { content: none !important; }
}

@media not print {
  body {
    color:var(--text-color);
  }
  .print-show {
    display:none;
  }
}

.ingredients {

}


.ingredients {
  width: auto;
  /* background-color: #eee; */
  /* border: 1px solid #666666; */
  border-spacing: 5px; /* cellspacing:poor IE support for  this */
  /* border-collapse: separate; */
  border-spacing: 0 1em;
  height: auto;
  margin-bottom: auto;
}
.ingredients.hanging {
  display: table;

}

.ingredient {
  width: auto;
  clear: both;
}
.hanging .ingredient {
}
.hanging .ingredient > * {
  display: table-cell;
  width: 99%;
}

.ingredient > * {
  /* float: left; */ /* fix for  buggy browsers */
  /* background-color: red; */
  /* padding: 0; */
  /* margin: 0; */
  /* margin-bottom: 1em; */
  /* display: block; */
}

a.publisherlink:hover {
    color: var(--accent-color);
}